package com.wsoft.config;

import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.quartz.*;

/**
 * @Author z001
 * @Date 2024/11/26 10:36
 */
@Slf4j
public class CustomSchedulerListener implements SchedulerListener {

    @Override
    public void jobScheduled(Trigger trigger) {
        // 任务被调度
    }

    @Override
    public void jobUnscheduled(TriggerKey triggerKey) {
        // 任务被取消调度
    }

    @Override
    public void triggerFinalized(Trigger trigger) {
        // 触发器完成
    }

    @Override
    public void triggerPaused(TriggerKey triggerKey) {
        // 触发器被暂停
    }

    @Override
    public void triggersPaused(String triggerGroup) {
        // 触发器组被暂停
    }

    @Override
    public void triggerResumed(TriggerKey triggerKey) {
        // 触发器被恢复
    }

    @Override
    public void triggersResumed(String triggerGroup) {
        // 触发器组被恢复
    }

    @Override
    public void jobAdded(JobDetail jobDetail) {
        // 任务被添加
    }

    @Override
    public void jobDeleted(JobKey jobKey) {
        // 任务被删除
    }

    @Override
    public void jobPaused(JobKey jobKey) {
        // 任务被暂停
    }

    @Override
    public void jobsPaused(String jobGroup) {
        // 任务组被暂停
    }

    @Override
    public void jobResumed(JobKey jobKey) {
        // 任务被恢复
    }

    @Override
    public void jobsResumed(String jobGroup) {
        // 任务组被恢复
    }

    @Override
    public void schedulerError(String msg, SchedulerException cause) {
        // 调度器错误
    }

    @Override
    public void schedulerInStandbyMode() {
        // 调度器处于待机模式
    }

    @Override
    public void schedulerStarted() {
        // 调度器启动
    }

    @Override
    public void schedulerStarting() {
        // 调度器正在启动
    }

    @Override
    public void schedulerShutdown() {
        log.info("调度器被强制关闭:关闭时间为{}", DateUtil.date());
    }

    @Override
    public void schedulerShuttingdown() {
        // 调度器正在关闭
    }

    @Override
    public void schedulingDataCleared() {
        // 调度数据被清除
    }
}
